#ifndef NETELEVATORCALLSCMD_H
#define NETELEVATORCALLSCMD_H

#include "Command/BaseCmd.h"
#include "Protocol/NetPointProtocol.h"
#include "Protocol/PointProtocol.h"

class NetElevatorCallsDownCmd : public BaseCmd
{
    Q_OBJECT
public:

    enum{FunctionCode = NetPointProtocol::ElevatorDown};
//    enum{PointFunctionCode = PointProtocol::ControlPoint};
    Q_INVOKABLE explicit NetElevatorCallsDownCmd(QObject *parent = 0);

    Package toPackage();
    void unPackage(Package package);



private:
    quint16 data;
    quint16 m_storeyNumber;

};

class NetElevatorCallsUPCmd : public BaseCmd
{
    Q_OBJECT
public:

    enum{FunctionCode = NetPointProtocol::ElevatorUP};
//    enum{PointFunctionCode = PointProtocol::ControlPoint};
    Q_INVOKABLE explicit NetElevatorCallsUPCmd(QObject *parent = 0);

    Package toPackage();
    void unPackage(Package package);



private:
    quint16 data;
    quint16 m_storeyNumber;

};

class NetElevatorCallsQueryCmd : public BaseCmd
{
    Q_OBJECT
public:

    enum{FunctionCode = NetPointProtocol::ElevatorStatusQuery};
//    enum{PointFunctionCode = PointProtocol::ControlPoint};
    Q_INVOKABLE explicit NetElevatorCallsQueryCmd(QObject *parent = 0);

    Package toPackage();
    void unPackage(Package package);



private:
    quint16 data;
    quint16 m_storeyNumber;

};

#endif // NETELEVATORCALLSCMD_H
